PHP(Laravel)、Python(Django)和Node.js,哪种技术最适合web开发? 您所在的位置:网站首页 web developer工具 PHP(Laravel)、Python(Django)和Node.js,哪种技术最适合web开发?

PHP(Laravel)、Python(Django)和Node.js,哪种技术最适合web开发?

2023-03-26 03:47| 来源: 网络整理| 查看: 265

推荐答案1

您最喜欢的人!它们都是网络开发的非常好的工具,并且已经被证明了很多次.

通常永远不会关于语言/运行时,但是关于您输入的代码.

当然,每种语言都有优点和缺点,但这就是特定于用例的地方.

选择对项目最有意义的工具,即.开发人员的经验或特定语言的功能.

推荐答案2

用于网络开发的

取决于您留下的区域. > 尽管其他人说的话,PHP并不是一种不好的语言,特别是PHP 7.因此,通过阅读某人编写的不良代码,就没有一个很好的做法来责怪编程语言本身.无论编程语言如何,我都看到了很多不良的代码和好的代码.如果您关心自己的项目或工作,则将编写好代码.

是您作为开发人员将代码作为艺术品的责任.对于大多数开发人员而言,当他们找到不良的代码时,大多数开发人员都不会这样做.

是的,python在语法中更加严格,您将在那里找到更好的代码.但是PHP是专门为Web设计的,而Python具有更通用的目的.您选择哪一个,取决于您自己.

推荐答案3

首先,django是一个网络框架,python是一种编程语言,node.js是一个JavaScript环境.

想象一下,一条线将像python这样的编程语言连接到像django这样的网络框架,然后就其具有的功能而言,node.js将更接近python.

与django默认提供的node.js达到相同量像Angular.js这样的前端框架. Django提供了许多其他功能,您必须实现自己.

如果我只选择一个,我会选择django.

使用Django创建Web应用程序更加理智. Python代码看起来比JavaScript更干净.这要简单得多,结构良好.从程序员的角度来看,Django几乎从所有用例中都好得多.

node.js主要是事件驱动的IO框架. node.js会出色的一个示例就像消息应用程序一样.它是事件驱动的(发送/接收消息)和IO(通过插座进行通信).使用Python实施同样的事情会更加麻烦. Node.js确实很快,并且由于其事件驱动的性质而可以处理很大的负载而不会出现太大麻烦.它仅使用一个线程来处理多个客户端.对于特定事件,它调用相应的回调.这允许Node.js接受客户端的请求,提出请求从数据库中阅读,并且在DB请求进行时,为其他客户端服务. DB操作完成后,调用了回调,并将响应发送回原始客户端.这是node.js如何 比例 良好的一个例子.

django,另一方面将为每个连接的客户端创建一个新线程.每个线程都有自己的开销,并且可以同时存在的线程量受到限制.如果有任何操作需要很长时间才能完成,则不能使用node.js,否则您将阻止主线程,所有其他客户端都必须等到完成.由于Django为每个客户端有一个新线程,因此您无需担心此类事情.

我的意见是,如果您关心性能.将Django用于主要Web应用程序,尤其是用户身份验证,为用户特定页面,复杂的数据库查询,长期计算.充分利用Django的管理页面.

使用node.js进行时间敏感的交互,事件驱动的交互或非常简单的请求,其中新线程的开销不值得它进行的计算量. (想象一千个用户,所有这些用户都想从数据库中检索相同的数据).

不要将django用于事件驱动的东西,例如消息传递.

推荐答案4

对于 Web 开发,我会在Python和Django上使用PHP和Laravel.但是,它们都是与长期未来的强大工具的绝佳配对.让我们参与其中. 它是专门用于Web开发的,可能是该环境中更快的开发语言. PHP 7似乎也比Python 3更有效,并且需要更少的VPS内存开销来完成相同的任务……只要我们谈论 Web> Web 任务. (尽管php的性能是Laravel的表现,但不一定会共享该性能. , 如果您也参与其他事物.就像C#是现代视频游戏开发或跨平台移动开发的语言一样,Python越来越多地是大数据和AI和/或机器学习的语言.您与Django一起使用Python越多,将来您将对这些其他有用的领域更适合.

PHP编码器还有更多的Web开发工作,但是有些Python编码人员总体上有更多工作. 这取决于您对Web的专用方式,因为大多数PHP作业或演出都与WordPress有关,或者现在越来越多地是Laravel. php都是所有网络开发. OOP (面向对象的编程)和 mvc (model-view-controller)模式.掌握Laravel之后,您将非常准备使用其他更强大的MVC框架(例如Say .Net). django少了,因为它的MVT(模型视图 - 模板)方法更古怪或独特,并且与OOP Paradigm 本se.

laravel还具有相当大的动量 截至2018年以上.如今,有多少人正在寻找有关Laravel的信息,以及有多少(更少)正在检查Django.我还很好地投入了Ruby,这是最适合的,这是2013年至2016年的比较中排名第一,但截至2018年,现在在3分中排名第3.

Laravel两年前在2016年4月之前首次通过Django在开发人员的"兴趣"中通过了Django,然后在2016年12月通过Ruby在Rails上通过,并逐渐提高了整个框架的领先地位,直到2017年,到目前为止,比五年前在2013年5月1日之前,有点 今天的Django或Rails的新兴趣./span> 今天对Laravel的兴趣比2013年5月1日.

数学来了.

您都不能真正出错,但是如果您同样精通PHP和Python, laravel 也具有动量由于更严格(或至少 传统 )遵守某些"最佳实践" i n Web编程,例如OOP和MVC.而且,在语言方面,PHP为网络提供了大部分(部分要归功于WordPress),毫无疑问,PHP Web开发中将有很多开放的机会.

主要出于这三个原因,Laravel和PHP可能是 Web> Web 开发截至2018年的最佳赌注,并且朝2020年代求助.

(*)我将添加I came across 最近发布的 came across techempoper ,以及AS正如原始PHP 7本身的表现一样,Laravel的表现不佳.对于具有数百个用户的基本Web应用程序,Laravel是一种乐趣.但是,对于更大的东西,对类似的升级(通过MVC和OOP)却更复杂.NET框架可能是您的未来.

如果您正在建立一个非常大或高度运输的网站,毕竟我可能会考虑Django的工作,或者更有可能使用asp.net core 2或node.js而不是 .话虽这么说,拉拉维尔(Laravel)可以处理您要付出的一切.您只需要升级硬件即可.我还希望Laravel能够提高性能,因为与每个更成熟的框架相比,它仍然相对较新.

推荐答案5

我的经验是基于我使用django和烧瓶(Python Web Frameworks)和Sails and Express(Node.js Frameworks)的基础. Django和帆都是适用于乘数网站和REST API的完整MVC经典框架,而Express和Flask均为微框架非常适合API开发.

注意:

python有更多更好的库,用于各种数据操纵任务,无论是BI,数据科学,科学计算,机器学习等/li> 节点有更多更好的库用于流a/v和其他缓冲材料,实时网络,网络插座等选择ORMS,SQL构建,消息队列以及几乎我需要的所有内容 Python是同步编程的,您对Web服务器处理的方式并不面对太多.即使烧瓶也比Express 更高,一旦您需要与任何与网络(包括数据库)的任何内容接口,您就会不断接触到节点中IO的异步性质. ,文件,插座等 我期望基于Node.js的框架在CPU上更容易,并且可以同时处理更多的请求,并且它们几乎按几乎一个数量级来完成.令我惊讶的是,在做同一件事时,节点在大量的同时请求中也使用了更少的内存. 我会建议在两者面前的haproxy之类的东西.它们是单线的,可以轻松地针对DOS攻击.节点簇具有负载平衡,但与Haproxy相比,这是一个玩具.


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有